====== Mit externen Panel-Anbietern arbeiten ======

Sofern Sie die Teilnehmer Ihrer Befragung über einen Panel-Anbieter rekrutieren, müssen Sie mit IDs, Backlinks, Exit-Links und Redirects arbeiten. Dieser Abschnitt beschreibt, wie Sie das mit SoSci Survey elegant implementieren.

===== Der Sinn hinter den vielen Links =====

Sofern der Anbieter eines Panels den Teilnehmern eine Vergütung zahlt, möchte er natürlich gerne wissen, wer den Fragebogen überhaupt vollständig ausgefüllt hat. Dazu muss er den einzelnen Teilnehmer "verfolgen".

Es funktioniert so: Jeder Teilnehmer bekommt einen personalisierten Link. Beim Anklicken dieses Links wird eine Kennung (ID oder Teilnehmer-ID) an SoSci Survey übermittelt. Am Schluss der Befragung muss SoSci Survey nun dem Anbieter mitteilen, dass der Teilnehmer den Fragebogen ausgefüllt hat. Dafür wird die Kennung wiederum an den Anbieter zurück übermittelt. Dazu dient der Back- oder Exit-Link, an welchen die Teilnehmer-ID geschickt wird. Auch für Screenout, einen eventuellen Quotenstopp (s. [[:de:survey:quota]]) oder für Teilnehmer mit zweifelhaften Antworten gibt es in aller Regel eigene Links vom Panel.


===== Personalisierte Links zum Fragebogen =====

Am einfachsten übermittelt der Panel-Anbieter die Kennung als Referenz. Dazu muss an den Link des Fragebogens die Variable ''r'' angehängt werden. Die Adresse lautet dann ''%%ServerURL/projekt/?r=Kennung%%'', also z.B. ''%%https://www.soscisurvey.de/demo/?r=Kennung%%''.

Die //Kennung// tauscht der Anbieter natürlich für jeden Teilnehmer aus.

**Hinweis:** Falls Sie nicht den Standard-Fragebogen im Link aufrufen möchten, verwenden Sie im Link nur einmal das Fragezeichen (''?'') und für weitere Variablen das kaufmännische Und (''&''), z.B. ''%%https://www.soscisurvey.de/demo/?q=fb2&r=Kennung%%''. Zum Erstellen des Links s. auch [[url|Der Link zum Fragebogen]].

**Hinweis:** Falls der Anbieter statt der Variable ''r'' unbedingt eine andere Variable verwenden will, dann benötigt man nur 2 Zeilen mehr PHP-Code. Welchen, das steht weiter unten.

===== Exit-Links zurück zum Anbieter =====

Um nun die Teilnehmer-Kennung am Ende der Befragung dem Anbieter mitzuteilen, wird der Teilnehmer einfach auf eine Website des Anbieters umgeleitet. Dabei wird wiederum die Kennung übermittelt.

Vom Anbieter erhält man üblicherweise einen Exit-Link der etwa so aussieht:\\ ''%%http://www.anbieter.com/p9815245/exit.php?id=Code%%''

Anstatt //Code// muss man nun bei jedem Befragten die Referenz einsetzen, die man am Anfang bekommen hat. Dies erledigt man einfach mit dem Platzhalter ''reference'':\\
''%%http://www.anbieter.com/p9815245/exit.php?id=%reference%%%''

Jetzt muss man den Befragten nur noch umleiten -- das so genannte Redirect. Dazu gibt es die Funktion ''[[:de:create:functions:redirect|redirect()]]''. Allerdings bricht diese die Befragung sofort ab und leitet den Teilnehmer auf eine andere Website um. Man muss also im Fragebogen selbst vor dem Ende eine leere Seite einfügen, dort //PHP-Code/// einfügen und dort den ''redirect()''-Befehl:

<code php>
redirect('http://www.anbieter.com/p9815245/exit.php?id=%reference%');
</code>

Sonst sollte man auf der Seite nichts mehr unterbringen.

Wenn man nun den Fragebogen mit einer Test-Kennung und dem oben gebastelten Link aufruft (die man sich einfach selbst ausdenkt), dann sollte man am Ende der Befragung auf die Seite des Anbieters umgeleitet werden und in der Adresszeile des Browsers sollte wieder die Test-Kennung stehen. Vermutlich zeigt der Anbieter dann eine Fehlermeldung, denn die Kennung ist ja nicht gültig.

**Tipp:** Mit der Funktion ''redirect()'' kann man die Teilnehmer natürlich auch wegschicken, wenn die Quote erfüllt ist. Ob die Quote schon erfüllt ist, kann man z.B. mithilfe der Funktion ''[[:de:create:functions:statistic|statistic()]]'' überprüfen.

**Wichtig:** Wenn ein Teilnehmer den Fragebogen mit ''redirect()'' verlässt, dann wird der Fragebogen im Datensatz __nicht__ als vollständig ausgefüllt markiert. Um unvollständige Datensätze zu filtern, muss man auf die letzte ausgefüllte Seite (LASTPAGE) zurückgreifen.

**Wichtig:** Wenn man den Platzhalter ''%reference%'' verwenden will, dann darf man mit ''[[:de:create:functions:replace|replace()]]'' __keinen__ Platzhalter auf diesen Namen vorbereiten.

===== Der Anbieter verwendet eine andere Variable als "r" =====

Falls der Anbieter im Link kein ''r'' verwenden kann oder will und auf eine Variable wie z.B. ''susid'' besteht, lässt sich das auch recht einfach lösen. Und zwar liest man die Variable dafür auf der ersten (!) Seite im Fragebogen mit einer Frage vom Typ [[:de:create:questions:client|Gerät und übermittelte Variablen]] ein. Tragen Sie den Namen der Variable ein, welche die Panel-Kennung enthält (z.B. "userID").

{{:de:survey:scr.panel.client.png?nolink|Frage vom Typ: Gerät und übermittelte Variablen}}

Als Platzhalter bei den Links muss man dann natürlich den Namen der Variable angeben, wie sie im Datensatz gespeichert wird. Wenn die Variable zum Einlesen z.B. ''DV01_RV1'' heißt, würde man den Platzhalter wie folgt setzen:

<code php>
// Dieser Code kann unter der Frage "Gerät und übermittelte Variablen"
// oder vor der Weiterleitung platziert werden
replace('%panelID%', 'DV01_RV1', 'response');  // Platzhalter vorbereiten
</code>

<code php>
// PHP-Code für Redirect
redirect('http://www.anbieter.com/p9815245/exit.php?id=%panelID%');
</code>